package com.yaorange.nongjt.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yaorange.common.annotation.Excel;
import com.yaorange.common.core.domain.BaseEntity;

/**
 * 合格证打印列表对象 njt_certificate_management
 * 
 * @author zly
 * @date 2025-03-07
 */
public class NjtCertificateManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 隐式自增记录ID */
    private String recordId;

    /** 账号（关联生产主体） */
    @Excel(name = "账号", readConverterExp = "关=联生产主体")
    private String account;

    /** 生产主体名称 */
    @Excel(name = "生产主体名称")
    private String productionSubject;

    /** 法人姓名 */
    @Excel(name = "法人姓名")
    private String legalPerson;

    /** 所属省 */
    @Excel(name = "所属省")
    private String province;

    /** 所属市 */
    @Excel(name = "所属市")
    private String city;

    /** 区/县 */
    @Excel(name = "区/县")
    private String district;

    /** 镇/乡 */
    @Excel(name = "镇/乡")
    private String township;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String detailedAddress;

    /** 生产地址 */
    @Excel(name = "生产地址")
    private String productionAddress;

    /** 食用农产品名称 */
    @Excel(name = "食用农产品名称")
    private String productName;

    /** 重量/数量 */
    @Excel(name = "重量/数量")
    private BigDecimal weight;

    /** 单位（kg/吨/件） */
    @Excel(name = "单位", readConverterExp = "k=g/吨/件")
    private String unit;

    /** 合格方式 */
    @Excel(name = "合格方式")
    private String qualificationMethod;

    /** 检验机构 */
    @Excel(name = "检验机构")
    private String inspectionAgency;

    /** 检测报告 */
    @Excel(name = "检测报告")
    private String testReport;

    /** 开具日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开具日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date issueDate;

    /** 合格证编号 */
    @Excel(name = "合格证编号")
    private String certificateNumber;

    /** 打印次数 */
    @Excel(name = "打印次数")
    private Long printCount;

    /** 扫描次数 */
    @Excel(name = "扫描次数")
    private Long scanCount;

    /** 数据来源 */
    private String dataSource;

    public void setRecordId(String recordId) 
    {
        this.recordId = recordId;
    }

    public String getRecordId() 
    {
        return recordId;
    }
    public void setAccount(String account) 
    {
        this.account = account;
    }

    public String getAccount() 
    {
        return account;
    }
    public void setProductionSubject(String productionSubject) 
    {
        this.productionSubject = productionSubject;
    }

    public String getProductionSubject() 
    {
        return productionSubject;
    }
    public void setLegalPerson(String legalPerson) 
    {
        this.legalPerson = legalPerson;
    }

    public String getLegalPerson() 
    {
        return legalPerson;
    }
    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setDistrict(String district) 
    {
        this.district = district;
    }

    public String getDistrict() 
    {
        return district;
    }
    public void setTownship(String township) 
    {
        this.township = township;
    }

    public String getTownship() 
    {
        return township;
    }
    public void setDetailedAddress(String detailedAddress) 
    {
        this.detailedAddress = detailedAddress;
    }

    public String getDetailedAddress() 
    {
        return detailedAddress;
    }
    public void setProductionAddress(String productionAddress) 
    {
        this.productionAddress = productionAddress;
    }

    public String getProductionAddress() 
    {
        return productionAddress;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setQualificationMethod(String qualificationMethod) 
    {
        this.qualificationMethod = qualificationMethod;
    }

    public String getQualificationMethod() 
    {
        return qualificationMethod;
    }
    public void setInspectionAgency(String inspectionAgency) 
    {
        this.inspectionAgency = inspectionAgency;
    }

    public String getInspectionAgency() 
    {
        return inspectionAgency;
    }
    public void setTestReport(String testReport) 
    {
        this.testReport = testReport;
    }

    public String getTestReport() 
    {
        return testReport;
    }
    public void setIssueDate(Date issueDate) 
    {
        this.issueDate = issueDate;
    }

    public Date getIssueDate() 
    {
        return issueDate;
    }
    public void setCertificateNumber(String certificateNumber) 
    {
        this.certificateNumber = certificateNumber;
    }

    public String getCertificateNumber() 
    {
        return certificateNumber;
    }
    public void setPrintCount(Long printCount) 
    {
        this.printCount = printCount;
    }

    public Long getPrintCount() 
    {
        return printCount;
    }
    public void setScanCount(Long scanCount) 
    {
        this.scanCount = scanCount;
    }

    public Long getScanCount() 
    {
        return scanCount;
    }
    public void setDataSource(String dataSource) 
    {
        this.dataSource = dataSource;
    }

    public String getDataSource() 
    {
        return dataSource;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("account", getAccount())
            .append("productionSubject", getProductionSubject())
            .append("legalPerson", getLegalPerson())
            .append("province", getProvince())
            .append("city", getCity())
            .append("district", getDistrict())
            .append("township", getTownship())
            .append("detailedAddress", getDetailedAddress())
            .append("productionAddress", getProductionAddress())
            .append("productName", getProductName())
            .append("weight", getWeight())
            .append("unit", getUnit())
            .append("qualificationMethod", getQualificationMethod())
            .append("inspectionAgency", getInspectionAgency())
            .append("testReport", getTestReport())
            .append("issueDate", getIssueDate())
            .append("certificateNumber", getCertificateNumber())
            .append("printCount", getPrintCount())
            .append("scanCount", getScanCount())
            .append("dataSource", getDataSource())
            .toString();
    }
}
